package com.csu.cphone.service;

import java.util.List;

import com.csu.common.exception.WebException;
import com.csu.cphone.pojo.RecycleOrderPojo;
import com.csu.cphone.vo.RecycleOrderVo;

/** 
 * @项目名称：cphone
 * @类名称：OrderService
 * @类描述：
 * @创建人：Tangc
 * @创建时间：2017年9月11日 下午5:42:47
 * @company:
 */
public interface RecycleOrderService
{


    /**
     * @description 提交订单
     * @author 阳凯
     * @date 2017年9月21日 下午10:35:58
     * @param orderVo
     * @return
     */
    RecycleOrderPojo commitOrder(RecycleOrderVo orderVo) throws WebException;

    /**
     * @description 更新订单
     * @author 阳凯
     * @date 2017年9月21日 下午10:36:13
     * @param orderVo
     * @return
     */
    RecycleOrderPojo updateOrder(RecycleOrderPojo orderPojo);


    /**
     * @description 查询指定用户的所有订单信息
     * @author 阳凯
     * @date 2017年9月21日 下午10:36:42
     * @param customerId
     * @return
     */
    List<RecycleOrderPojo> queryOrdersByCustomerId(Integer customerId);


    
    /** @description
     * @author TangC
     * @date 2017年11月14日 下午9:25:00
     * @param orderSn
     * @return
     */
    
    RecycleOrderPojo getOrderBySn(String serialNumber);

    
    /** @description
     * @author TangC
     * @date 2017年12月7日 下午9:39:27
     * @param recycleOrderId
     * @return
     */
    
    RecycleOrderPojo queryById(Integer recycleOrderId);

    
    /** @description
     * @author TangC
     * @date 2017年12月7日 下午9:39:31
     * @return
     */
    
    Integer count();

    
    /** @description
     * @author TangC
     * @date 2017年12月7日 下午9:39:37
     * @param pageSize
     * @param startIndex
     * @param order
     * @return
     */
    
    List<RecycleOrderPojo> queryList(Integer pageSize, Integer startIndex, String order);

    
    /** @description
     * @author TangC
     * @date 2017年12月7日 下午9:39:42
     * @param recycleOrderId
     * @return
     */
    Integer deleteById(Integer recycleOrderId);

    
    /** @description
     * @author TangC
     * @date 2017年12月9日 下午5:43:38
     * @param orderSn
     * @param customerId
     * @return
     */
    
    Integer cancelOrder(String orderSn, int customerId);

    
    /** @description
     * @author TangC
     * @date 2017年12月9日 下午5:43:42
     * @param producerId
     * @return
     */
    
    List<RecycleOrderPojo> getWaitingOrder(String number);

    
    /** @description
     * @author TangC
     * @date 2017年12月18日 上午10:50:03
     * @param serialNumber
     * @return
     */
    
    Integer finishOrder(String serialNumber);

    
    /** @description
     * @author TangC
     * @date 2017年12月18日 上午10:50:07
     * @param serialNumber
     * @return
     */
    
    Integer confirmFinish(String serialNumber);

    
    /** @description
     * @author TangC
     * @date 2017年12月19日 下午3:01:52
     * @param number
     * @param status
     * @return
     */
    
    List<RecycleOrderPojo> queryOrderByProducer(String number, Integer status);

    
    /** @description
     * @author TangC
     * @date 2017年12月27日 下午5:46:48
     * @param sn
     * @param number
     * @return
     */
    
    RecycleOrderPojo turnOrder(String sn, String number) throws WebException;

    

    
}
